package org.example.compare.global;

import cn.hutool.core.lang.Pair;
import org.example.compare.dto.*;

import java.util.*;

public class SchData {
    public static List<List<OrderDto>> orderGroupByDeadLine = new ArrayList<>();
    public static Map<Long, PositionDto> pPositionDtos = new HashMap<>();//工位数据数组,按位置编号,别的地方都是用这里的指针
    public static Map<Long, List<WorkerTech>> hRate = new HashMap<>();//效率集合，以工序Id为索引的到向量，向量内部以效率从高到低进行排序
    public static Map<Long, List<BoxProcess>> hBoxProcess = new HashMap<>();
    public static Map<Long, Set<Long>> hOrderProcessDependency = new HashMap<>();//工序订单依赖关系
    public static Map<String, SysParam> hParamSet = new HashMap<>();//参数集
    public static Map<Pair<Long, String>, WorkerTechType> workerToTechType = new HashMap<>();
    public static Map<Long, Set<OrderProcess>> orderProcessAllDependency = new HashMap<>();//工序订单所有前置依赖
    public static Map<String, OrderDto> orderId2Order = new HashMap<>(); //LocalOrderNum : Order
    public static Map<Long, OrderProcess> processId2OrderProcess = new HashMap<>();
    public static Map<Integer, List<WorkTimeDto>> mHashNormalDayToWorkTime = new HashMap<>();//key 1-7表示星期一到星期天

    /**
     * 工序加急等级：key_加急编码 value_加急的分数项
     */
    public static Map<String, Float> processUrgentLevels = new HashMap<>(0);

}
